package com.javarush.test.level18.lesson10.home07;

/* Поиск данных внутри файла
Считать с консоли имя файла
Найти в файле информацию, которая относится к заданному id, и вывести ее на экран в виде, в котором она записана в файле.
Программа запускается с одним параметром: id (int)
Закрыть потоки

В файле данные разделены пробелом и хранятся в следующей последовательности:
id productName price quantity

где id - int
productName - название товара, может содержать пробелы, String
price - цена, double
quantity - количество, int

Информация по каждому товару хранится в отдельной строке
*/

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class Solution {
    public static void main(String[] args) throws IOException {
        String idArg= args[0];
        BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
        String file=reader.readLine();
        BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file)));
        String line = null;
        while ((line = br.readLine()) != null)
        {
            String[] a=line.split(" ");

            if (a[0].equals(idArg))
            {
                int id= Integer.parseInt(a[0]);
                int quantity= Integer.parseInt(a[a.length-1]);
                Double price = Double.parseDouble(a[a.length - 2]);
                String productName="";
                for (int i=1; i<a.length-2; i++)
                {
                    productName+=a[i]+" ";
                }
                System.out.print(id+" "+productName+""+price+" "+quantity);
                break;
            }
        }
        reader.close();
        br.close();

    }
}
